103 OF=1:IPC=8:PT=1:LOCATE 5,15:PRINT"Enter the File Name you wish to use:":LOCATE 5,52:GOSUB 15150:SWAP RAN$,IP$:IF RAN$=ESC$ THEN RAN$=""
104 IF LEN(RAN$)<>0 THEN GOTO 108 ELSE LOCATE 23,1:BEEP:PRINT"You did not enter a file name. Do you wish to exit program (Y/N)?":LOCATE 23,67:IPC=1:GOSUB 15150:IF IP$="y" THEN IP$="Y"
105 IF IP$="Y" THEN 7020 ELSE LOCATE 23,1:PRINT STRING$(68," "):GOTO 103
140 N=0:DIM I$(1000):DIM I1$(1000):DEFINT A-Z' MAXIUM NBR OF RECORDS
160 ON ERROR GOTO 10000
280 IN$=RAN$+".IDX"
285 NBR$=RAN$+".CTR"
300 OPEN "i",#3,NBR$
360 INPUT #3,N
365 CLOSE 3
410 OPEN "R",#2,RAN$,79
420 FIELD 2, 15 AS CF$, 2 AS SF$, 5 AS ZF$, 12 AS PHF$, 20 AS STF$, 10 AS N1F$, 15 AS N2F$
500 ' ------------------------ MAIN MENU ROUTINE ------------------------------
520 CLS:I=0:MN=0:KEY 9,")":GOSUB 11300
540 LOCATE 5,22:COLOR 15,0:PRINT"THE FOLLOWING OPTIONS ARE AVAILABLE":COLOR 7,0
560 LOCATE 8,32:PRINT"1. Add to file"
580 LOCATE 9,32:PRINT"2. Sort file"
600 LOCATE 10,32:PRINT"3. Display file"
620 LOCATE 11,32:PRINT"4. Correct file"
640 LOCATE 12,32:PRINT"5. Print file"
660 LOCATE 13,32:PRINT"6. Delete record"
665 LOCATE 14,32:PRINT"7. Display last record number"
670 LOCATE 15,32:PRINT"8. Automatic phone dialer"
672 LOCATE 25,1:COLOR 15,0:PRINT"F9 ";:COLOR 0,7:PRINT" TO END PROGRAM ";:LOCATE 25,50:COLOR 15,0:PRINT"Esc ";:COLOR 0,7:PRINT" RETURN TO FILE SELECTION ";:COLOR 7,0
682 LOCATE ,,0:LOCATE 19,22:PRINT"Type the number of your choice:";:IPC=1:PT=0:OF=1:GOSUB 15150:SWAP IP$,I$:IF I$="" THEN 682 ELSE IF I$=")" THEN 7020 ELSE IF I$=ESC$ THEN CLOSE 2:ERASE I$:ERASE I1$:GOTO 102
683 IF VAL(I$)=0 THEN GOTO 700
684 I=VAL(I$)
685 IF I=7 THEN LOCATE 23,22:PRINT"THERE ARE";:COLOR 15,0:PRINT N;:COLOR 7,0:PRINT"RECORDS IN THIS FILE ";:I=0:GOTO 682
700 IF I<1 OR I>8 THEN LOCATE 23,22:BEEP:COLOR 15,0:PRINT"PLEASE TYPE A NUMBER BETWEEN 1 AND 8":COLOR 7,0:GOTO 682
720 ON I GOTO 1010,2010,3020,4020,5020,6020,0,12010
1000 ' --------------------------ADD TO FILE ROUTINE --------------------------
1010 CLS:LOCATE 1,30:PRINT"RECORD NUMBER ";:GOSUB 11010
1020 F=0:IF N=0 THEN N=1 ELSE N=N+1
1040 LOCATE 1,43:PRINT N:GOSUB 11200
1060 MID$(N1$,1)=SPACE$(10)' first name
1080 GOSUB 11400:GOTO 1840
1282 IF F=1 THEN 1840:' CHECK FOR ERROR CORR
1840 LOCATE 25,1:PRINT STRING$(26,32);:GOSUB 8020:IF C2=1 THEN C2=0:GOTO 520 ELSE LOCATE 23,1:PRINT STRING$(75,32);:LOCATE 23,1:PRINT"Is the information displayed correct? ";:IPC=1:PT=0:OF=1:GOSUB 15150:SWAP IP$,I$
1860 IF I$="Y" OR I$="y" THEN 1987
1880 IF I$="N" OR I$="n" THEN LOCATE 23,1:PRINT STRING$(40,32):GOSUB 11400:GOTO 1840
1900 BEEP:LOCATE 23,1:PRINT STRING$(70,32);:LOCATE 23,1:PRINT"You must answer yes or no. Please reenter";:FOR T = 1 TO 2000:NEXT T:GOTO 1840
1987 IF LEN(N2$)<15 THEN N2$=N2$+" ":GOTO 1987
1989 IF F1=2 GOTO 4242 ELSE IF F1=3 GOTO 4425 ELSE I$=Z$+N2$+STR$(N):GOSUB 10200
1990 OPEN IN$ FOR APPEND AS 1:PRINT#1,I$:CLOSE 1:OPEN "O",3,NBR$:PRINT#3,N:CLOSE 3
1991 LOCATE 23,1:PRINT"Record has been written to file. Do you want to input another ";:IPC=1:PT=0:OF=1:GOSUB 15150:SWAP IP$,I$:IF I$="Y" OR I$="y" THEN LOCATE 23,1:PRINT STRING$(70,32);:GOTO 1020
1993 IF I$="N" OR I$="n" THEN GOTO 520
1994 BEEP:LOCATE 23,1:PRINT STRING$(70,32);:LOCATE 23,1:PRINT"You must answer yes or no. Please reenter";:GOTO 1991
3020 MN=3:KEY 9,"":KEY 10,")":C1=0:I=0:CLS:GOSUB 11300:LOCATE 5,29:COLOR 15,0:PRINT"DO YOU WANT TO DISPLAY":COLOR 7,0
3040 LOCATE 8,32:PRINT"1. By record number"
3060 LOCATE 9,32:PRINT"2. By name"
3080 LOCATE 10,32:PRINT"3. All"
3100 GOSUB 11150:LOCATE 19,24:PRINT"Type the number of your choice ";:LOCATE 19,POS(0)-1:IPC=1:PT=0:OF=1:GOSUB 15150:IF IP$=ESC$ THEN 520 ELSE IF VAL(IP$)=0 THEN 3120 ELSE I=VAL(IP$)
3120 IF I<1 OR I>3 THEN LOCATE 23,24:BEEP:COLOR 15,0:PRINT"PLEASE TYPE A NUMBER FROM 1 TO 3":COLOR 7,0:GOTO 3100
3140 ON I GOTO 3420,3160,3600,520
3160 CLS:GOSUB 11150:LOCATE 7,15:PRINT"Enter name you would like to display:";:LOCATE CSRLIN,POS(0)+1:IPC=15:PT=1:GOSUB 15150:IF IP$=ESC$ THEN 3020 ELSE SWAP I$,IP$
3170 IF LEN(I$)<>0 THEN 3180 ELSE IF I$="" THEN LOCATE 23,1:BEEP:PRINT"You did not enter a name. Do you wish to return to menu (Y/N)";:LOCATE CSRLIN,POS(0)+1:IPC=1:GOSUB 15150
3172 IF IP$="Y" OR IP$="y" THEN 3020 ELSE IF IP$=ESC$ THEN 3020 ELSE LOCATE 23,1:PRINT STRING$(68," "):GOTO 3160
3180 F$=I$
3200 OPEN "I",#1,IN$
3204 IF EOF(1) THEN 3380
3205 INPUT #1,I$
3220 I=LEN(I$):I=I-20:IF MID$(I$,6,LEN(F$))<>F$ THEN 3204 ELSE I = VAL(RIGHT$(I$,I))
3240 C1=1:GET 2,I
3260 CLS:LOCATE 1,30:PRINT"RECORD NUMBER "I
3280 GOSUB 11010:GOSUB 10500:GOSUB 10600
3320 LOCATE 23,1:PRINT"Type S to return to menu or any other key to continue search";
3340 I$=INKEY$:IF I$="" THEN 3340
3360 LOCATE 23,1:PRINT STRING$(75,32);:IF LEFT$(I$,1)="S" OR LEFT$(I$,1)="s" THEN 3380
3370 GOTO 3204
3380 CLOSE 1
3381 IF C1=1 THEN 3400
3382 LOCATE 23,10:BEEP:PRINT"There is no record for ";:COLOR 0,7:PRINT" "F$" ";:COLOR 7,0:PRINT" press any key to continue";
3384 I$=INKEY$:IF I$="" THEN 3384
3400 GOTO 3020
3420 CLS:GOSUB 11150
3421 LOCATE 7,15:PRINT"Enter record number you would like to display: ";:LOCATE 7,POS(0)-4:IPC=4:PT=1:OF=1:GOSUB 15150:IF IP$=ESC$ THEN 3020
3422 IF VAL(IP$)=0 THEN LOCATE 23,1:PRINT SPACE$(77);:LOCATE 23,22:BEEP:PRINT"Record number must be numeric":GOTO 3421:ELSE I=VAL(IP$)
3423 IF I>N THEN LOCATE 23,1:BEEP: PRINT"There are only"N;"records in the file. Please choose a number no larger than"N;:GOTO 3421
3424 IF I=0 THEN 3020
3426 'IF N=0 THEN BEEP:LOCATE 23,1:PRINT"There are no records in this file. Press enter to continue";:IPC=1:PT=0:OF=0:GOSUB 15150:GOTO 520
3440 GET 2,I
3460 CLS:LOCATE 1,30:PRINT"RECORD NUMBER "I
3480 GOSUB 11010:GOSUB 10500:GOSUB 10600
3500 LOCATE 23,1:PRINT"Press any key to continue"
3520 I$=INKEY$:IF I$="" THEN 3520 ELSE LOCATE 23,1:PRINT STRING$(75,32);
3540 GOTO 3020
3600 CLS:LOCATE 1,30:PRINT "RECORD NUMBER ";:GOSUB 11010:IF S=1 THEN OPEN "I",#1,SRT$:GOTO 3606
3605 FOR L=1 TO N
3606 IF S=1 THEN IF EOF(1) GOTO 3840
3607 IF S=1 THEN INPUT #1,I:GOTO 3640
3620 I=L
3640 GET 2,I
3660 LOCATE 1,44:PRINT USING "####";I
3680 GOSUB 10500:GOSUB 10600
3700 FOR T=1 TO 15
3720 GOSUB 11150:LOCATE 25,59:COLOR 15,0:PRINT"F10 ";:COLOR O,7:PRINT" TO HOLD DISPLAY ";:COLOR 7,0
3740 I$=INKEY$:IF I$<>"" THEN IF I$=")" THEN LOCATE 25,63:COLOR 0,7:PRINT" TO CONTINUE ";:COLOR 7,0:PRINT" ";:IPC=1:OF=0:GOSUB 15150
3745 IF I$=ESC$ THEN IF S=1 GOTO 3860 ELSE T=15:L=N
3780 NEXT T
3785 IF S=1 THEN 3606
3800 NEXT L
3820 IF I$=ESC$ THEN 3860
3840 LOCATE 23,20:BEEP:PRINT"End of file. Type any key to return";:IPC=1:PT=O:OF=0:GOSUB 15150
4040 CLS:GOSUB 11300:COLOR 15,0:LOCATE 5,29:PRINT"DO YOU WANT TO CORRECT":COLOR 7,0:LOCATE 8,30:PRINT"1. By record number"
4060 LOCATE 9,30:PRINT"2. By name"
4080 GOSUB 11150:LOCATE 19,25:PRINT"Type the number of your choice ";:LOCATE 19,POS(0)-1:IPC=1:PT=0:OF=1:GOSUB 15150:IF IP$=ESC$ THEN 4560 ELSE IF VAL(IP$)=0 THEN 4100 ELSE I=VAL(IP$)
4085 'IF I$=ESC$ THEN GOTO 4560
4100 IF I<1 OR I>2 THEN LOCATE 23,27:BEEP:COLOR 15,0:PRINT"PLEASE TYPE NUMBER 1 OR 2":COLOR 7,0:GOTO 4080
4120 IF I = 2 GOTO 4280
4140 CLS:GOSUB 11150
4160 LOCATE 7,15:PRINT"Enter the number of record you want to correct: ";:LOCATE 7,POS(0)-4:IPC=4:PT=1:OF=1:GOSUB 15150:IF IP$=ESC$ THEN 4020
4162 IF VAL(IP$)=0 THEN LOCATE 23,1:PRINT SPACE$(77);:LOCATE 23,22:BEEP:PRINT"Record number must be numeric":GOTO 4160:ELSE I1=VAL(IP$)
4180 IF I1>N THEN LOCATE 23,1:BEEP:PRINT"No record found for that number. Do you want to try another ";:LOCATE 23,POS(0)-1:IPC=1:PT=O:OF=0:GOSUB 15150:IF LEFT$(IP$,1)="Y" OR LEFT$(IP$,1)="y" THEN 4140 ELSE GOTO 4560
4249 I2=LEN(I1$):I2=I2-20:IF VAL(RIGHT$(I1$,I2))=I1 THEN I$(L)=Z$+N2$+STR$(I1) ELSE I$(L)=I1$
4251 NEXT L
4253 CLOSE 1
4255 GOSUB 10400:GOSUB 10200
4260 GOTO 4040
4280 CLS:F1=3:GOSUB 11150
4300 LOCATE 5,15:PRINT"Enter last name of record you want to correct:";:LOCATE 5,POS(0)+1:IPC=15:PT=1:OF=1:GOSUB 15150:IF IP$=ESC$ THEN 4020 ELSE SWAP IP$,I$:IF I$="" THEN 4020
4320 F$=I$
4340 OPEN "i",1,IN$:OPEN "B:TEMP" FOR APPEND AS 3
4342 FOR L2= 1 TO N
4344 INPUT#1,I$:Q=Q+1
4360 I1=LEN(I$):I1=I1-20:IF MID$(I$,6,LEN(F$))<>F$ THEN I$(Q)=I$:GOTO 4427
5020 KEY 10,")":I=0:MN=5:FOR L=1 TO 3:P$(L)=SPACE$(80):NEXT L:P$=SPACE$(80):A$=SPACE$(15):A1$=SPACE$(15):C1=0:CLS:GOSUB 11300:COLOR 15,0:LOCATE 5,29:PRINT"DO YOU WANT TO PRINT":COLOR 7,0
5025 LOCATE 8,31:PRINT"1 By record number"
5030 LOCATE 9,31:PRINT"2 By name"
5035 LOCATE 10,31:PRINT"3 All"
5050 GOSUB 11150:LOCATE 19,23:PRINT"Type the number of your choice: ";:IPC=1:PT=0:OF=1:GOSUB 15150:IF IP$=ESC$ THEN 520 ELSE IF VAL(IP$)=0 THEN 5055 ELSE I=VAL(IP$)
5055 IF I<1 OR I>3 THEN LOCATE 23,23:BEEP:COLOR 15,0:PRINT"PLEASE TYPE A NUMBER FROM 1 TO 3":COLOR 7,0:GOTO 5050
5060 ON I GOTO 5065,5140,5520
5065 CLS:GOSUB 11150:LOCATE 7,15:PRINT"Enter name you would like to print ";:IPC=15:PT=1:OF=1:GOSUB 15150:IF IP$=ESC$ THEN 5020 ELSE SWAP IP$,I$
5067 IF I$="" THEN 5020
5070 F$=I$
5073 OPEN "I",#1,IN$
5075 IF EOF(1) THEN 5115
5077 INPUT#1,I$
5080 I=LEN(I$):I=I-20:IF MID$(I$,6,LEN(F$))<>F$ THEN 5075 ELSE I = VAL(RIGHT$(I$,I))
5085 C1=1:GET 2,I
5090 CLS:LOCATE 1,30:PRINT"RECORD NUMBER "I
5095 GOSUB 5495
5100 LOCATE 23,1:PRINT"Type S to return to menu or any other key to continue search";
5105 I$=INKEY$:IF I$="" THEN 5105
5110 LOCATE 23,1:PRINT STRING$(75,32);:IF LEFT$(I$,1)="S" OR LEFT$(I$,1)="s" THEN CLOSE 1:GOTO 5020
5113 GOTO 5075
5115 CLOSE 1
5120 IF C1=1 THEN 5135
5125 LOCATE 23,1:BEEP:PRINT"There is no record for ";:COLOR 0,7:PRINT" "F$" ";:COLOR 7,0:PRINT" press any key to continue";
5130 I$=INKEY$:IF I$="" THEN 5130
5135 GOTO 5020
5140 CLS:GOSUB 11150
5141 LOCATE 7,15:PRINT"Enter record number you would like to print ";:IPC=4:PT=1:OF=1:GOSUB 15150:IF IP$=ESC$ THEN 5020 ELSE I=VAL(IP$)
5142 IF I=0 THEN 5020
5145 IF I>N THEN LOCATE 23,1:BEEP:PRINT"There are only"N"records in the file. Please choose a number no larger than"N:GOTO 5141
5150 'IF N=0 THEN BEEP:LOCATE 22,1:INPUT"THERE ARE NO RECORDS IN THIS FILE. PRESS ENTER TO CONTINUE",I$:GOTO 520
5155 GET 2,I
5160 CLS:LOCATE 1,30:PRINT"RECORD NUMBER "I
5165 GOSUB 5495:GOSUB 10500
5170 LOCATE 23,1:PRINT"Type any key to continue";
5175 I$=INKEY$:IF I$="" THEN 5175 ELSE LOCATE 23,1:PRINT STRING$(75,32);
5562 CLS:GOSUB 11150:LOCATE 7,15:PRINT"Enter title for listing: ";:IPC=40:PT=1:OF=1:GOSUB 15150:IF I$=ESC$ THEN 5520 ELSE IF LEN(IP$)=0 THEN 5520 ELSE SWAP TITLE$,IP$
5900 CLS:GOSUB 11150:LOCATE 1,1:PRINT"Enter the FIRST print position for the second label: ";:LOCATE 1,POS(0)-1:IPC=3:PT=1:GOSUB 15150:IF IP$=ESC$ THEN 5520 ELSE TAB1=VAL(IP$)
5905 CLS:GOSUB 11150:LOCATE 1,1:PRINT"Enter the number of spaces you desire between labels: ";:LOCATE 1,POS(0)-1:IPC=3:PT=1:GOSUB 15150:IF IP$=ESC$ THEN 5520 ELSE SPACES=VAL(IP$):RETURN
5910 CLS:GOSUB 11150:LOCATE 1,1:PRINT"Enter the FIRST print position for the second label: ";:LOCATE 1,POS(0)-1:IPC=3:PT=1:GOSUB 15150:IF IP$=ESC$ THEN 5520 ELSE TAB1=VAL(IP$)
5920 LOCATE 3,1:PRINT"Enter the FIRST print position for the third label: ";:LOCATE 3,POS(0)-1:IPC=3:PT=1:GOSUB 15150:IF IP$=ESC$ THEN 5520 ELSE TAB2=VAL(IP$)
5930 GOSUB 11150:LOCATE 5,1:PRINT"Enter the number of spaces you desire between labels: ";:LOCATE 5,POS(0)-1:IPC=3:PT=1:GOSUB 15150:IF IP$=ESC$ THEN 5520 ELSE SPACES=VAL(IP$):RETURN
6040 LOCATE 5,30:COLOR 15,0:PRINT"DO YOU WANT TO DELETE":COLOR 7,0
6060 LOCATE 8,32:PRINT"1 By record number"
6080 LOCATE 9,32:PRINT"2 By last name"
6100 GOSUB 11150:LOCATE 19,25:PRINT"Type the number of your choice: ";:IPC=1:PT=0:OF=1:GOSUB 15150:IF IP$=ESC$ THEN 6145 ELSE IF VAL(IP$)=0 THEN 6120 ELSE I=VAL(IP$)
6120 IF I<1 OR I>2 THEN LOCATE 23,26:BEEP:COLOR 15,0:PRINT"PLEASE TYPE NUMBER 1 OR 2":COLOR 7,0:GOTO 6100
6140 IF I=1 THEN 6155 ELSE IF I=2 THEN 6440
6145 OPEN "O",3,NBR$:PRINT#3,N:CLOSE 3:IF S=1 THEN S=0:KILL SRT$ ELSE GOTO 520
6155 CLS:GOSUB 11150
6160 LOCATE 7,15:PRINT"Enter record number you want to delete ";:LOCATE 7,POS(0)-4:IPC=4:PT=1:OF=1:GOSUB 15150:IF IP$=ESC$ THEN 6020 ELSE IF IP$="" THEN BEEP:GOTO 6160 ELSE I=VAL(IP$)
6180 IF N=0 THEN BEEP:LOCATE 23,1:PRINT"There are no records in this file. Press enter to continue ";:IPC=1:PT=0:OF=0:GOTO 520
6185 IF I>N THEN LOCATE 23,1:BEEP:PRINT"There are only"N"records in the file. Please enter a number no larger than"N:GOTO 6160
6190 IF I=0 THEN GOTO 6020
6200 GET 2,I
6300 CLS:LOCATE 1,30:PRINT"RECORD NUMBER "I
6320 GOSUB 11010:GOSUB 10500:GOSUB 10600
6325 GOSUB 11150
6340 LOCATE 22,1:BEEP:PRINT"Is this the correct record to delete ";:IPC=1:PT=0:OF=1:GOSUB 15150:IF IP$=ESC$ THEN 6020 ELSE SWAP IP$,I$
6360 IF I$="N" OR I$="n" THEN 6020 ELSE IF I$="Y" OR I$="y" THEN 6420
6400 LOCATE 23,1:BEEP:PRINT"You must enter yes or no. Please reenter":GOTO 6340
6420 GOSUB 6760:N=N-1:GOTO 6020
6440 CLS:C1=0:GOSUB 11150
6460 LOCATE 5,15:PRINT"Enter last name of record you want to delete ";:IPC=15:PT=1:OF=1:GOSUB 15150:IF IP$=ESC$ THEN 6020 ELSE IF IP$="" THEN BEEP:GOTO 6460 ELSE SWAP IP$,I$
6480 F$=I$
6485 OPEN "I",1,IN$
6505 IF EOF(1) THEN GOTO 6682 ELSE INPUT#1,IP$
6520 I=LEN(IP$):I=I-20:IF MID$(IP$,6,LEN(F$))<>F$ THEN 6680 ELSE I=VAL(RIGHT$(IP$,I))
6540 GET 2,I
6560 CLS:LOCATE 1,30:PRINT"RECORD NUMBER "I
6580 GOSUB 11010:GOSUB 10500:GOSUB 10600
6600 I1$=" ":GOSUB 11150:LOCATE 22,1:BEEP:PRINT"Is This the correct record to delete ";:IPC=1:PT=0:OF=1:GOSUB 15150:IF IP$=ESC$ THEN 6020 ELSE SWAP IP$,I1$
6640 IF I1$="Y" OR I1$="y" THEN 6700 ELSE IF I1$="N" OR I1$="n" THEN 6680
6660 LOCATE 23,1:BEEP:PRINT"You must enter yes or no. Please reenter":GOTO 6600
6680 GOTO 6505
6682 CLOSE 1:GOTO 6020
6700 CLOSE 1:GOSUB 6760:N=N-1:GOTO 6020
6750 ' -------------- ACTUAL DELETE ROUTINE ------------
6760 OPEN "i",1,IN$
6800 FOR L1=1 TO N
6820 INPUT#1,I1$
6840 IF L1<I GOTO 6920
6860 GET 2,L1+1
6880 PUT 2,L1
6900 IF L1=I GOTO 6940
6905 I2$=LEFT$(I1$,20)
6910 I1$=I2$+STR$(L1-1)
6920 IF L1<I THEN I$(L1)=I1$ ELSE IF L1>I THEN I$(L1-1)=I1$
8265 IF C2=0 THEN N1$=N11$:N2$=N21$:PH$=P1H$:ST$=S1T$:C$=C1$:S$=S1$:Z$=Z1$
8266 IF F=1 THEN GOTO 8280
8267 CLS:LOCATE 1,30:PRINT"RECORD NUMBER "N
8269 GOSUB 11010:GOSUB 10600
8280 CLOSE 1:RETURN
9999 '-----------------------ERROR TRAPS AND SUBROUTINES----------------------
10000 IF ERR = 53 THEN GOTO 10150 ELSE IF ERR = 67 GOTO 10181
10002 IF ERR=25 THEN CLS:LOCATE 12,10:PRINT "MAKE PRINTER READY THEN HIT ANY KEY TO RESUME":GOTO 10004
10003 GOTO 10006
10004 EE$=INKEY$:IF EE$="" THEN 10004 ELSE CLS:LOCATE 10,35:PRINT"PRINTING":RESUME
10006 IF ERR=27 THEN CLS:LOCATE 12,10:PRINT "REPLACE PAPER IN PRINTER THEN HIT ANY KEY TO RESUME":GOTO 10008
10007 GOTO 10010
10008 EE$=INKEY$:IF EE$="" THEN 10008 ELSE RESUME
10010 IF ERR=61 THEN CLS ELSE GOTO 10020
10012 LOCATE 11,30:PRINT"DATA DISK IS FULL."
10014 LOCATE 12,30:PRINT"LAST ENTRY MAY NOT"
10016 LOCATE 13,30:PRINT"HAVE BEEN ADDED."
10017 LOCATE 14,30:INPUT"PRESS ENTER TO RESUME.",I$:RESUME 520
10020 IF ERR = 71 THEN CLS ELSE GOTO 10120
10025 ER=1:LOCATE 10,30:PRINT"DISK DRIVE NOT READY"
10040 LOCATE 11,30:PRINT"PLEASE INSERT DATA DISK"
10060 LOCATE 12,30:PRINT"OR CLOSE DRIVE DOOR":BEEP
10080 LOCATE 13,30:INPUT"PRESS ENTER TO RESUME",I$:IF MN=3 THEN CLS:LOCATE 1,30:PRINT"RECORD NUMBER":GOSUB 11010
10100 RESUME
10120 ON ERROR GOTO 0
10150 CLS:LOCATE 12,15:PRINT"File not found. Do you wish to create a new file? ";:IPC=1:PT=0:OF=1:GOSUB 15150
10160 IF I$="Y" OR I$="y" THEN RESUME 410
10170 LOCATE 15,20:COLOR 0,7:PRINT "THE CURRENT FILES ON DISK B ARE:":LOCATE 17,1:COLOR 7,0:FILES "B:*.*"
10172 LOCATE 25,20:COLOR 0,7:PRINT "** PRESS ANY KEY TO CONTINUE **";:COLOR 7,0
10175 A$=INKEY$:IF A$="" THEN 10175
10180 CLOSE:ERASE I$:ERASE I1$:RESUME 103
10181 CLS:BEEP:LOCATE 20,20:PRINT"File name entered:";:COLOR 15,0:LOCATE 20,POS(0)+1:PRINT RIGHT$(RAN$,LEN(RAN$)-2):COLOR 7,0:LOCATE 22,10:PRINT"You have entered an invalid character in the file name."
10182 LOCATE 23,10:PRINT"Please press any key to return to file selection."
10183 I$=INKEY$:IF I$="" THEN 10183 ELSE CLS:RESUME 103
10199 ' ---------------------- WRITE R-A FILE TO DISK -----------------
10200 LSET CF$=C$
10220 LSET SF$=S$
10240 LSET ZF$=Z$
10260 LSET PHF$=PH$
10280 LSET STF$=ST$
10300 LSET N1F$=N1$
10320 LSET N2F$=N2$
10340 IF F1 = 2 OR F1=3 THEN PUT 2,I1 ELSE PUT #2,N
10360 RETURN
10399 ' --------------------------WRITE INDEX FILE TO DISK --------------------
10400 OPEN "O",#1,IN$
10420 FOR L=1 TO N:PRINT#1,I$(L):NEXT L
10440 CLOSE #1:RETURN
10500 MID$(C$,1)=CF$:MID$(S$,1)=SF$:MID$(Z$,1)=ZF$:MID$(PH$,1)=PHF$:MID$(ST$,1)=STF$:MID$(N1$,1)=N1F$:MID$(N2$,1)=N2F$:' CONVERT RA FILES TO REGULAR VARIABLES
10520 RETURN
10599 ' ------------------------ PRINT FIELD VALUES -------------------------
10600 COLOR 0,7:LOCATE 3,12:PRINT" ";:PRINT MID$(N1$,1,INSTR(N1$,"\")-1);:PRINT" ";:COLOR 7,0:PRINT STRING$(12-INSTR(N1$,"\"),32):COLOR 0,7:
12010 CLOSE 2:COLOR 15,0:LOCATE 19,22:PRINT"Loading AutoDialer ..............":COLOR 7,0:CHAIN "A:AUTODIAL.BAS"
13000 '------------------READ SCREEN FOR INPUT ----------------------------
13010 CR=3:CC=13:LOCATE ,,0:I$="":TEST=0:ERRORN=0
13015 FOR L=0 TO 8
13020 IF L=0 THEN 13030 ELSE IF CHR$(SCREEN(CR,CC+L))=CHR$(45) THEN L=10:GOTO 13038
13030 I$=I$+CHR$(SCREEN(CR,CC+L))
13034 IF CHR$(SCREEN(CR,CC+L))=CHR$(32) AND TEST=0 THEN TEST=TEST+1 ELSE IF CHR$(SCREEN(CR,CC+L))=CHR$(32) AND TEST=1 THEN I$=LEFT$(I$,LEN(I$)-2):L=10:GOTO 13038
13036 IF TEST=1 AND CHR$(SCREEN(CR,CC+L))<>CHR$(32) THEN TEST=0:I1$=RIGHT$(I$,1):I$=LEFT$(I$,LEN(I$)-1)+I1$
13038 GOSUB 13684
13040 NEXT L:IF ERRORN=1 THEN GOSUB 13700:GOTO 11405
13080 IF L=0 THEN 13090 ELSE IF CHR$(SCREEN(CR,CC+L))=CHR$(45) THEN L=13:GOTO 13098
13090 I$=I$+CHR$(SCREEN(CR,CC+L))
13094 IF CHR$(SCREEN(CR,CC+L))=CHR$(32) AND TEST=0 THEN TEST=TEST+1 ELSE IF CHR$(SCREEN(CR,CC+L))=CHR$(32) AND TEST=1 THEN I$=LEFT$(I$,LEN(I$)-2):L=13:GOTO 13098
13096 IF TEST=1 AND CHR$(SCREEN(CR,CC+L))<>CHR$(32) THEN TEST=0:I1$=RIGHT$(I$,1):I$=LEFT$(I$,LEN(I$)-1)+I1$
13098 GOSUB 13684
13100 NEXT L:IF ERRORN=1 THEN GOSUB 13740:GOTO 11405
13150 NEXT L:IF ERRORN=1 THEN GOSUB 13670:GOTO 11405
13155 MID$(PH$,1)=I$
13160 CR=5:CC=17:I$="":TEST=0
13170 FOR L=0 TO 19
13180 IF CHR$(SCREEN(CR,CC+L))=CHR$(45) THEN L=19:GOTO 13200
13190 I$=I$+CHR$(SCREEN(CR,CC+L))
13194 IF CHR$(SCREEN(CR,CC+L))=CHR$(32) AND TEST=0 THEN TEST=TEST+1 ELSE IF CHR$(SCREEN(CR,CC+L))=CHR$(32) AND TEST=1 THEN I$=LEFT$(I$,LEN(I$)-2):L=19:GOTO 13200
13196 IF TEST=1 AND CHR$(SCREEN(CR,CC+L))<>CHR$(32) THEN TEST=0:I1$=RIGHT$(I$,1):I$=LEFT$(I$,LEN(I$)-1)+I1$
13200 NEXT L
13210 MID$(ST$,1)=STRING$(20," "):MID$(ST$,1)=I$
13220 CR=7:CC=7:I$="":TEST=0
13230 FOR L=0 TO 13
13240 IF CHR$(SCREEN(CR,CC+L))=CHR$(45) THEN L=13:GOTO 13260
13250 I$=I$+CHR$(SCREEN(CR,CC+L))
13254 IF CHR$(SCREEN(CR,CC+L))=CHR$(32) AND TEST=0 THEN TEST=TEST+1 ELSE IF CHR$(SCREEN(CR,CC+L))=CHR$(32) AND TEST=1 THEN I$=LEFT$(I$,LEN(I$)-2):L=13:GOTO 13260
13256 IF TEST=1 AND CHR$(SCREEN(CR,CC+L))<>CHR$(32) THEN TEST=0:I1$=RIGHT$(I$,1):I$=LEFT$(I$,LEN(I$)-1)+I1$
15157 I$=INKEY$:IF I$="" THEN 15157 ELSE LOCATE ,,0
15161 IF I$=CR$ THEN 15200
15162 IF I$=CHR$(8) THEN LOCATE CSRLIN,POS(0)-1:PRINT" ";:LOCATE CSRLIN,POS(0)-1:CT=CT-1:IF CT<=0 THEN MID$(IP$,1)=SPACE$(IPC):BEEP:LOCATE CSRLIN,PS:CT=0:GOTO 15155:ELSE MID$(IP$,1)=LEFT$(IP$,CT)+" ":GOTO 15155
15164 IF LEN(I$)=2 THEN IF RIGHT$(I$,1)=CHR$(75) THEN LOCATE CSRLIN,POS(0)-1:PRINT" ";:LOCATE CSRLIN,POS(0)-1:CT=CT-1:IF CT<=0 THEN MID$(IP$,1)=SPACE$(IPC):BEEP:LOCATE CSRLIN,PS:CT=0:GOTO 15155:ELSE MID$(IP$,1)=LEFT$(IP$,CT)+" ":GOTO 15155
15165 IF LEN(I$)= 2 THEN 15155 ELSE IF I$=CHR$(46) THEN GOTO 15155 ELSE IF I$=CHR$(63) THEN 15155 ELSE IF ASC(I$) < 47 AND ASC(I$) > 122 THEN 15155
15166 IF I$=ESC$ THEN IP$=I$:RETURN
15170 IF PT=1 THEN PRINT I$;
15180 CT=CT+1:MID$(IP$,CT,1)=I$
15190 IF CT=IPC THEN RETURN ELSE GOTO 15155
15200 FOR L=IPC TO 1 STEP -1
15210 IF MID$(IP$,L,1)<>" " THEN P1=L:L=1
15220 NEXT L
15230 IP$=LEFT$(IP$,P1):RETURN
19999 '--------------------------OPENING LOGO ---------------------------------